import request from '@/config/axios'

// 跨境电商平台产品映射 VO
export interface PlatformProductMappingVO {
  id: number // 映射编号
  platformId: number // 平台编号
  storeId: number // 店铺编号
  localProductId: number // 本地产品ID
  localSku: string // 本地SKU
  platformProductId: string // 平台产品ID
  platformSku: string // 平台SKU
  platformListingId: string // 平台listing ID
  platformAsin: string // 平台ASIN（Amazon）
  platformItemId: string // 平台商品ID（eBay等）
  platformVariantId: string // 平台变体ID（Shopify等）
  mappingStatus: number // 映射状态（0未映射 1已映射 2映射失败 3已下架）
  syncStatus: number // 同步状态（0未同步 1同步中 2同步成功 3同步失败）
  lastSyncTime: Date // 最后同步时间
  syncErrorMsg: string // 同步错误信息
  platformUrl: string // 平台商品链接
  platformStatus: string // 平台商品状态
  platformPrice: number // 平台价格
  platformCurrency: string // 平台货币
  platformInventory: number // 平台库存数量
  autoSync: boolean // 是否自动同步
}

// 跨境电商平台产品映射 API
export const PlatformProductMappingApi = {
  // 查询跨境电商平台产品映射分页
  getPlatformProductMappingPage: async (params: any) => {
    return await request.get({ url: `/crossborder/platform-product-mapping/page`, params })
  },

  // 查询跨境电商平台产品映射详情
  getPlatformProductMapping: async (id: number) => {
    return await request.get({ url: `/crossborder/platform-product-mapping/get?id=` + id })
  },

  // 新增跨境电商平台产品映射
  createPlatformProductMapping: async (data: PlatformProductMappingVO) => {
    return await request.post({ url: `/crossborder/platform-product-mapping/create`, data })
  },

  // 修改跨境电商平台产品映射
  updatePlatformProductMapping: async (data: PlatformProductMappingVO) => {
    return await request.put({ url: `/crossborder/platform-product-mapping/update`, data })
  },

  // 删除跨境电商平台产品映射
  deletePlatformProductMapping: async (id: number) => {
    return await request.delete({ url: `/crossborder/platform-product-mapping/delete?id=` + id })
  },

  // 批量删除跨境电商平台产品映射
  deletePlatformProductMappingList: async (ids: number[]) => {
    return await request.delete({ url: `/crossborder/platform-product-mapping/delete-batch`, data: ids })
  },

  // 导出跨境电商平台产品映射 Excel
  exportPlatformProductMapping: async (params) => {
    return await request.download({ url: `/crossborder/platform-product-mapping/export-excel`, params })
  },
}
